# Tool documentation with exact parameter names
tool_docs = {

    "remember": "remember(memory: str) - Store an important fact, insight, or observation in your memory for future reference. ",

    "tap": "tap(index: int, longpress: bool = False) - Tap on the element with the given index on the device",
    
    "swipe": "swipe(start_x: int, start_y: int, end_x: int, end_y: int, duration_ms: int = 300) - Swipe from (start_x,start_y) to (end_x,end_y) over duration_ms milliseconds",
    
    "input_text": "input_text(text: str) - Input text on the device - this works only if an input is focused. Always make sure that an edit field was tapped before inserting text",
    
    "press_key": "press_key(keycode: int) - Press a key on the device using keycode",
    
    "complete": """complete(result: str) - Use this function ONLY when the user's entire goal has been fully and verifiably achieved.

**DO NOT** call this function if:
- You are not 100% certain the task is complete.
- There are still steps to be taken.
- You have not yet confirmed the result of your actions on the screen.

**BEFORE calling `complete`, you MUST verify:**
1.  All sub-tasks related to the main goal are finished. (e.g., for 'search for weather', you must have opened the app, typed the query, and seen the weather results).
2.  The final state of the screen matches the user's desired outcome.

Provide a concise summary of the final outcome in the `result` parameter.""",
    
    "query_rag": "query_rag(question: str) - Query the local RAG knowledge base with a question and get an answer based on the stored knowledge.",
    
}